#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//int main()
//{
//    int a = 0;
//    int b = 0;
//    scanf("%d %d", &a, &b);
//    int max = (a > b ? a : b);
//    while ((max % a != 0) || (max % b != 0))
//    {
//        max++;
//    }
//    printf("%d" ,max);
//}
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d", &a, &b);
//	int i = 1;
//	while (a * i % b != 0)
//	{
//		i++;
//	}
//	printf("%d", a * i);
//}


#include<stdio.h>
#include<string.h>
void reverse(char* left, char* right)
{
	while (left < right)
	{
		char tmp = *left;
		*left = *right;
		*right = tmp;
		left++;
		right--;
	}
}
int main()
{
	char arr[100] = { 0 };
	gets(arr);
	int sz = strlen(arr);
	reverse(arr, arr + sz - 1);// IM A ST    TS A MI
	char* cur = arr;
	while (*cur)
	{
		char* start = cur;
		while (*cur != ' ' && (*cur) != '\0')
		{
			cur++;
		}
		reverse(start, cur - 1);
		if (*cur != '\0')
			cur++;
	}
     printf("%s ",arr);
}
